<?php
/**
 * Nao utilize esta classe
 *
 * Desativada por Cristian.
 */

class SqlAtivoPadrao
{
    /**
     * Metodo Responsavel em verificar se permissao ja existe ou nao
     *
     * @return json
     */
    public function executa()
    {
        $retorno = array();

        $trataDados = new TrataDados;
        if ( $trataDados->pegaDados() )
        {
            $dados = $trataDados->getDados();
            $tabelaModulo   = $trataDados->getModuloTabela();
            $tabela         = $trataDados->getTabela();

            // verifica se registro existe
            $sql = new SqlEditar;
            $sql->setTabela($tabelaModulo); // define o nome da tabela
            if (!empty($dados['name']))
                $sql->setCampo($dados['name'], $dados['ativo']);
            else
                $sql->setCampo('ativo', $dados['ativo']);
            // cria critério de seleção de dados
            $criterio = new SqlCriterio;
            $criterio->add(new SqlFiltro("id_{$tabela}", '=', $trataDados->getIdTabela()));
            // define o critério de seleção de dados
            $sql->setCriterio($criterio);

            
            try
            {
                $pdo = Conexao::open('sistema'); // inicia conexao



                $pdo->exec($sql->getInstrucao()); // retorna a instrução SQL e a executa
// atribui valores para inserir historico
                $historico = new Historico;
                $historico->setIdUsuario($_SESSION["sessao_id_usuario"]);
                $historico->setAcao("Editar");
                $historico->setIdRegistro($trataDados->getIdTabela());
                $historico->setNomeTabela($tabelaModulo);
                $historico->setSql($sql->getInstrucao());
                $historico->cadastraHistorico(); // inseri historico

                $pdo = null; // fecha conexao

                $retorno['resultado']   = 'sim';
            }
            catch ( PDOException $e )
            {
                new Excecao($e);
                $retorno['resultado']   = 'erro';
                $retorno['erro']        = 'ativo';
            }
        }
        else
        {
            $retorno['resultado']       = 'dados_errados';
            $retorno['dados_errados']   = $trataDados->getErro();
        }
        return json_encode($retorno);
    }

    public function executaII()
    {
        $retorno = array();

        $trataDados = new TrataDados;
        if ( $trataDados->pegaDados() )
        {
            $dados = $trataDados->getDados();
            $tabelaModulo   = $trataDados->getModuloTabela();
            $tabela         = $trataDados->getTabela();

            

            //print_r($dados[$dados['campo']]);
            //exit;
// verifica se registro existe

            $sql = new SqlEditar;
            $sql->setTabela($tabelaModulo); // define o nome da tabela
            $sql->setCampo($dados['campo'], $dados[$dados['campo']]);
// cria critério de seleção de dados
            $criterio = new SqlCriterio;
            $criterio->add(new SqlFiltro("id_{$tabela}", '=', $trataDados->getIdTabela()));
// define o critério de seleção de dados
            $sql->setCriterio($criterio);

            try
            {
                $pdo = Conexao::open('sistema'); // inicia conexao

                $pdo->exec($sql->getInstrucao()); // retorna a instrução SQL e a executa
// atribui valores para inserir historico
                $historico = new Historico;
                $historico->setIdUsuario($_SESSION["sessao_id_usuario"]);
                $historico->setAcao("Editar");
                $historico->setIdRegistro($trataDados->getIdTabela());
                $historico->setNomeTabela($tabelaModulo);
                $historico->setSql($sql->getInstrucao());
                $historico->cadastraHistorico(); // inseri historico

                $pdo = null; // fecha conexao

                $retorno['resultado']   = 'sim';
            }
            catch ( PDOException $e )
            {
                new Excecao($e);
                $retorno['resultado']   = 'erro';
                $retorno['erro']        = 'ativo';
            }
        }
        else
        {
            $retorno['resultado']       = 'dados_errados';
            $retorno['dados_errados']   = $trataDados->getErro();
        }
        return json_encode($retorno);
    }

}
?>